home *** CD-ROM | disk | FTP | other *** search
- ===========================================================================
- BBS: The Beta Connection
- Date: 07-06-93 (15:28) Number: 1525
- From: CHRIS PRIEDE Refer#: 1378
- To: PETER KIRKWOOD Recvd: NO
- Subj: Printer Ready? Conf: (232) T_Pascal_R
- ---------------------------------------------------------------------------
- PK> Any suggestions as to how I can check if a printer is online
- PK>and/or ready would be appreciated.
-
- Interrupt 17h service 02h returns printer status flags. We are
- interested in three:
-
- bit 7 = 1 Ready
- bit 5 = 1 Out of paper
- bit 3 = 1 I/O error
-
-
- Bit 7 should be 1 and bits 5, 3 -- 0. You can use the following
- BASM routine to check it:
-
- const
- pnLPT1 = 0;
- pnLPT2 = 1;
- pnLPT3 = 2;
-
- function PrinterReady(PN: word): boolean; assembler;
- asm
- mov dx, PN {printer number goes in DX}
- mov ah, 02h
- int 17h {int. 17h service 02h}
- xor al, al {assume false}
- and ah, 10101000b {clear all other bits}
- cmp ah, 10000000b {ready & not out of paper or error?}
- jne @Done {no -- leave result false}
- inc ax {yes -- change to true}
- @Done:
- end;
- ---
- * D.W.'s TOOLBOX, Atlanta GA, 404-471-6636
- * PostLink(tm) v1.06 DWTOOLBOX (#1035) : RelayNet(tm)